Skip to content

Conversation

@RHammond2
Copy link
Collaborator

End support for HybridBOSSE

This PR scrubs any reference to HybridBOSSE and removes the wrapper and its client from the code base since the model is unused and causing upstream dependency management issues. It was discussed at a recent standup that it is time to deprecate support as it's increasingly unused for a variety of reasons.

PR Checklist

  • RELEASE.md has been updated to describe the changes made in this PR
  • Documentation - N/A, the integration was never documented, so nothing to update
    • Docstrings are up-to-date
    • Related docs/ files are up-to-date, or added when necessary
    • Documentation has been rebuilt successfully
    • Examples have been updated
  • Tests pass (If not, and this is expected, please elaborate in the tests section)
  • PR description thoroughly describes the new feature, bug fix, etc.

Related issues

N/A

Impacted areas of the software

HybridBOSSE references removed from:

  • examples/legacy/analysis/main_usa_new.py
  • examples/legacy/analysis/multi_location.py
  • examples/legacy/analysis/single_location.py
  • hopp/tools/analysis/bos/cost_calculator.py

Removed:

  • hopp/tools/analysis/bos/hybrid_bosse.py
  • hopp/tools/analysis/bos/hybridbosse_client.py

Additional supporting information

N/A

Test results, if applicable

No changes made to tested or documented software

@RHammond2 RHammond2 requested review from johnjasa and kbrunik January 27, 2026 21:51
@RHammond2 RHammond2 added enhancement New feature or request dependencies labels Jan 27, 2026
johnjasa added a commit that referenced this pull request Jan 28, 2026
<!--
IMPORTANT NOTES

1. Use GH flavored markdown when writing your description:

https://docs.github.com/en/get-started/writing-on-github/getting-started-with-writing-and-formatting-on-github/basic-writing-and-formatting-syntax

2. If all boxes in the PR Checklist cannot be checked, this PR should be
marked as a draft.

3. DO NOT DELTE ANYTHING FROM THIS TEMPLATE. If a section does not apply
to you, simply write
   "N/A" in the description.

4. Code snippets to highlight new, modified, or problematic
functionality are highly encouraged,
though not required. Be sure to use proper code higlighting as
demonstrated below.

   ```python
    def a_func():
        return 1

    a = 1
    b = a_func()
    print(a + b)
    ```
-->

<!--The title should clearly define your contribution succinctly.-->
# Flatten matrix-shaped arrays to 1D arrays for `c_double` casting

<!-- Describe your feature here. Please include any code snippets or
examples in this section. -->
This PR is addressing the test failures cropping up in #509 caused by
passing a (N, 1) NumPy array to a (N,) `c_double` array. By reshaping
the NumPy arrays to shape (N,) the issue is resolved.

## PR Checklist

<!--Tick these boxes if they are complete, or format them as "[x]" for
the markdown to render. -->
- [x] `RELEASE.md` has been updated to describe the changes made in this
PR
- [ ] Documentation
  - [ ] Docstrings are up-to-date
  - [ ] Related `docs/` files are up-to-date, or added when necessary
  - [ ] Documentation has been rebuilt successfully
  - [ ] Examples have been updated
- [x] Tests pass (If not, and this is expected, please elaborate in the
tests section)
- [x] PR description thoroughly describes the new feature, bug fix, etc.

## Related issues

<!--If one exists, link to a related GitHub Issue.-->
N/A, this is a brand new issue blocking a PR.

## Impacted areas of the software

<!--
Replace the below example with any added or modified files, and briefly
describe what has been changed or added, and why.
-->
- `hopp/simulation/technologies/pySSC_daotk/ssc_wrap.py`
- `PySSC.data_set_array`: reshapes the passed NumPy array from (N, 1) to
(N).
- `hopp/simulation/technologies/csp/pySSC_daotk/ssc_wrap.py`
- `PySSC.data_set_array`: reshapes the passed NumPy array from (N, 1) to
(N).

## Additional supporting information

<!--Add any other context about the problem here.-->
All test failures were due to this line of code in
`hopp/simulation/technologies/pySSC_daotk/ssc_wrap.py::PySSC.data_set_array`

<img width="630" height="120" alt="image"
src="https://github.com/user-attachments/assets/ded8bb3c-8890-41a6-adb5-eb5f6fc2b437"
/>


## Test results, if applicable

<!--
Add the results from unit tests and regression tests here along with
justification for any
failing test cases.
-->


<!--
__ For NREL use __
Release checklist:
- [ ] Update the version in hopp/__init__.py
- [ ] Verify docs builds correctly
- [ ] Create a tag on the main branch in the NREL/HOPP repository and
push
- [ ] Ensure the Test PyPI build is successful
- [ ] Create a release on the main branch
-->
Copy link
Collaborator

@johnjasa johnjasa left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks Rob!

Copy link
Collaborator

@kbrunik kbrunik left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me! Thanks @RHammond2

@johnjasa johnjasa merged commit 93db762 into NatLabRockies:develop Jan 28, 2026
5 checks passed
@RHammond2 RHammond2 deleted the enhancement/deprecate-hybridbosse branch January 28, 2026 22:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants